Revert "Turn off extern templates for most uses." Turning off explicit template instantiation leads to a pretty significant build time and code size cost. We're better off dealing with ABI incompatibility issues that come up in a less heavy handed way. This reverts commit r189610. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@215740 91177308-0d34-0410-b5e6-96231b3b80d8 
diff --git a/include/__config b/include/__config index ce235af..c9718cf 100644 --- a/include/__config +++ b/include/__config 
@@ -608,7 +608,7 @@  #endif    #ifndef _LIBCPP_EXTERN_TEMPLATE -#define _LIBCPP_EXTERN_TEMPLATE(...) +#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__;  #endif    #ifndef _LIBCPP_EXTERN_TEMPLATE2 
diff --git a/src/algorithm.cpp b/src/algorithm.cpp index 10c4c33..6d5cf7c 100644 --- a/src/algorithm.cpp +++ b/src/algorithm.cpp 
@@ -7,7 +7,6 @@  //  //===----------------------------------------------------------------------===//   -#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__;  #include "algorithm"  #include "random"  #include "mutex" 
diff --git a/src/ios.cpp b/src/ios.cpp index e241394..260ec76 100644 --- a/src/ios.cpp +++ b/src/ios.cpp 
@@ -7,8 +7,6 @@  //  //===----------------------------------------------------------------------===//   -#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__; -  #include "ios"  #include "streambuf"  #include "istream" 
diff --git a/src/locale.cpp b/src/locale.cpp index e626528..f21e35d 100644 --- a/src/locale.cpp +++ b/src/locale.cpp 
@@ -7,8 +7,6 @@  //  //===----------------------------------------------------------------------===//   -#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__; -  // On Solaris, we need to define something to make the C99 parts of localeconv  // visible.  #ifdef __sun__ 
diff --git a/src/string.cpp b/src/string.cpp index fde5212..fdaad29 100644 --- a/src/string.cpp +++ b/src/string.cpp 
@@ -7,8 +7,6 @@  //  //===----------------------------------------------------------------------===//   -#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__; -  #include "string"  #include "cstdlib"  #include "cwchar" 
diff --git a/src/valarray.cpp b/src/valarray.cpp index e4c9ed0..2d8db52 100644 --- a/src/valarray.cpp +++ b/src/valarray.cpp 
@@ -7,8 +7,6 @@  //  //===----------------------------------------------------------------------===//   -#define _LIBCPP_EXTERN_TEMPLATE(...) extern template __VA_ARGS__; -  #include "valarray"    _LIBCPP_BEGIN_NAMESPACE_STD